New ioctls in cdrom.c

The following ioctls have been introduced to allow user programs to control the behavior of individual CDROM devices. New ioctl commands can be identified by the underscores in their names.

CDROM_SET_OPTIONS
Set options specified by arg. Returns the option flag register after modification. Use arg = 0 for reading the current flags.
CDROM_CLEAR_OPTIONS
Clear options specified by arg. Returns the option flag register after modification.
CDROM_SELECT_SPEED
Select head-rate speed of disc specified as by arg. The value 0 means `auto-select', i.e., play audio discs at real time and data disc at maximum speed. The value arg is checked against the maximum head rate of the drive found in the cdromdops.
CDROM_SELECT_DISC
Select disc numbered arg from a juke-box. First disc is numbered 0. The number arg is checked against the maximum number of discs in the juke-box found in the cdromdops.
CDROM_MEDIA_CHANGED
Returns 1 if a disc has been changed since the last call. Note that calls to cdrommediachanged by the VFS are treated by an independent queue, so both mechanisms will detect a media change once. Currently, cdrom.c implements maximum 16 minors per major device.
CDROM_DRIVE_STATUS
Returns the status of the drive by a call to drivestatus(). Return values are as defined in section [*]. Note that this call doesn't return information on the current playing activity of the drive; this can be polled through an ioctl call to CDROMSUBCHNL.
CDROM_DISC_STATUS
Returns the type of the disc currently in the drive by a call to discstatus(). Return values are as defined in section [*].